public class SXHS {
    public static void main(String[] args) {
        System.out.println("1-1000范围内的水仙花数：");
        
        // 遍历1-1000的所有数字
        for (int num = 1; num <= 10000; num++) {
            // 计算数字的位数
            int digits = (int) Math.log10(num) + 1;
            int temp = num;
            int sum = 0;
            
            // 计算各位数字的幂次和
            while (temp > 0) {
                int digit = temp % 10;  // 获取最后一位数字
                sum += Math.pow(digit, digits);  // 计算该位数字的幂次并累加
                temp /= 10;  // 移除最后一位
            }
            
            // 判断是否为水仙花数
            if (sum == num) {
                System.out.println(num);
            }
        }
    }
}
